As communications networks, such as the Internet, carry more and more traffic, efficient use of the bandwidth available in the network becomes more and more important. Switching technology was developed in order to reduce congestion and associated competition for the available bandwidth. Switching technology works by restricting traffic. Instead of broadcasting a given data packet to all parts of the network, switches are used to control data flow such that the data packet is sent only along those network segments necessary to deliver it to the target node. The smaller volume of traffic on any given segment results in fewer packet collisions on that segment, and thus the smoother and faster delivery of data. A choice between alternative paths is usually possible and is typically made based upon current traffic patterns.
The intelligent routing of data packets with resultant reduction in network congestion can only be effected if the network topology is known. The topology of a network is a description of the network which includes the location of and interconnections between nodes on the network. The word “topology” refers to either the physical or logical layout of the network, including devices, and their connections in relationship to one another. Information necessary to create the topology layout can be derived from tables stored in network devices such as hubs, bridges, and switches. The information in these tables is in a constant state of flux as new entries are being added and old entries time out. Many times there simply is not enough information to determine where to place a particular device.
Switches examine each data packet which they receive, read their source addresses, and log those addresses into tables along with the switch ports on which the packets were received. If a packet is received with an unknown target address, the switch receiving it broadcasts that packet to each of its ports. When the switch receives a reply, it will have identified where the new node lies.
In a large network with multiple possible paths from the switch to the target node, this table can become quite large and may require a significant amount of the switch's resources to develop and maintain. As an additional complication, the physical layout of devices and their connections are typically in a state of constant change. Devices are continually being removed from, added to, and moved to new physical locations on the network. To be effectively managed, the topology of a network must be accurately and efficiently ascertained, as well as maintained.
In a switch, each port of the switch forms a so called “collision domain.” Existing techniques for ascertaining the topology of a network involve creating a so called “container” or “segment” for each collision domain. Thus, the topological map of the network ends up with one container or segment per port for each switch.
Current methods for creating topological maps in networks containing switches can cause a proliferation of segments. Although such proliferation of segments may be correct under the product's layout models, it causes the network level sub-map to be cluttered and often unusable. As an example, a port on a switch connected to a node would create a new segment on the topological map, as would the attachment of a port on a switch to a port on another switch. For a network comprising a large number of switches and nodes the number of segments and associated table entries can quickly become very large and unwieldy resulting in the heavy use of computer resources in creating and maintaining network topological data. Thus, there exists a need for a method of creating a topological map of a network which is accurate, frugal in its utilization of network resources, and which can easily be used to update the network map as changes occur.